package com.pokermind.operator;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;

/**
 * AI启用的测试配置类
 * 专门用于需要真实AI功能的测试
 * 
 * 与TestConfiguration不同，这个配置不排除Spring AI自动配置
 * 
 * @author PokerMind Team
 */
@SpringBootApplication(exclude = {
    org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
    org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class,
    com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAgentAutoConfiguration.class  // 排除Agent配置，只保留Chat配置
})
@ComponentScan(basePackages = {
    "com.pokermind.operator.service",    // 只扫描service包，避免AIAnalysisOperator
    "com.pokermind.operator.config"      // AI配置
}, excludeFilters = {
    @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {
        com.pokermind.operator.AIAnalysisOperator.class  // 排除AIAnalysisOperator
    })
})
public class AIEnabledTestConfiguration {
    // AI专用测试配置：
    // 1. ✅ 保留Spring AI自动配置
    // 2. ❌ 排除数据库自动配置  
    // 3. ❌ 排除AIAnalysisOperator (避免PokerHandDao依赖)
    // 4. ✅ 只包含PokerAIService和AI配置
}
